package com.tql.pandian.entity;

import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 返回结果封装类
 *
 * @param <T>
 * @author jac
 * @company TimaNetWork LTD.
 * @createDate 2017年7月21日 下午5:17:30
 */
@Data
public class ResultDTO<T> implements Serializable {

    /**
     * 数据
     */
    private T data;

    /**
     * 状态
     */
    private Integer code;

    /**
     * 内容描述
     */
    private String messageContent;

    /**
     * List 总数
     */
    private List<T> listData;
    /**
     * 分页总数
     */
    private Integer total;

    public static <T> ResultDTO<T> success(List<T> data, Integer recordsTotal) {
        ResultDTO<T> result = new ResultDTO<>();
        result.setListData(data);
        result.setTotal(recordsTotal);
        return result;
    }

    public static <T> ResultDTO<T> success(T data, Integer code,String messageContent){
        ResultDTO<T> result = new ResultDTO<>();
        result.setData(data);
        result.setCode(code);
        result.setMessageContent(messageContent);
        return result;
    }

}
